iT邦幫忙

2024 iThome 鐵人賽

DAY 11
1

Who the hell are you Husky

🐶

前言

在團隊合作中,保持程式的一致性和質量至關重要,這不僅依賴於每位開發者的自律。幸運的是,Husky 作為一個強大的 Git hook 第三方工具,能夠幫助你自動化這些檢查,使整個開發流程更加順暢。無論是格式化程式碼還是執行測試,Husky 都能在你提交程式碼之前自動運行相關腳本,確保程式碼無誤。

Fun Fact


Husky 除了代表 Git hook 第三方工具和哈士奇,Husky 還有個有趣的歷史。1981 年,DVW Microelectronics Ltd(現為 Itronix)製造了一款名為 Husky 144 的手持軍規電腦。Husky 144 是專為軍隊等使用者設計,能夠在潮濕、寒冷等惡劣環境中使用。這台設備不僅防水,還具有極強的抗摔性,即便掉在堅硬的地面上(是 Nokia 3310?)。

麻瓜翻譯

首先,回憶一下我們之前提到的 Git。

今天,小銘、小華、小嘉、小芳和小橘在饅頭股份有限公司上班,大家都要將檔案上傳至公司的雲端系統。由於檔名沒有設定統一規則,大家便隨意命名,導致公司雲端的檔名雜亂無章。饅頭老闆對此十分憤怒,於是決定在公司系統裡加入一套自動檢查檔名的系統,叫做 Git hook。

但是 Git hook 有個小缺點,它是存在 .git 資料夾裡,而這個資料夾不能上傳至遠端倉庫,這就導致本地設定好的 Git hook 無法共享給其他同事。於是他們安裝了第三方工具 Husky。這套軟體不僅解決了上述問題,允許將設定上傳至雲端,還能自動檢查檔名是否符合規範,若不符合,便無法提交,直到符合規則為止。

歷史

image alt

抱歉各位,目前查無資料,還請高抬貴手

後記

補充 Husky 與 Git hook 的關係:

Git hooks 是基礎
: Git hooks 是 Git 自帶的功能,在某些 Git 操作的觸發點執行腳本。

Husky 是管理工具
: Husky 簡化了使用 Git hooks 的過程,開發者無需手動處理 Git 的 hooks 文件。Husky 允許在 package.json 中定義 Git hooks,從而實現自動化的開發工作流程。

Husky 的最大優勢在於能夠隨時確保每次提交的程式碼質量。它可以在開發者提交程式碼之前,自動運行程式碼檢查工具,如 ESLint、Prettier,甚至是 Jest,確保程式碼風格一致,並避免潛在錯誤的引入。這樣不僅提升了團隊的協作效率,也減少了後續修復問題的時間。

Husky 能夠自動化繁瑣的流程,讓開發者無需手動執行程式碼檢查或測試。它還能與其他工具結合,如 lint-staged,只檢查變更過的文件,進一步提升效率。

Husky 的配置靈活且易於擴展,開發者可以根據項目需求自定義各種 Git hook,讓整個開發流程更加自動化和可靠。

參考

如何用Husky 為Git 新增Commit Hooks 以實現程式碼任務的自動化
Husky--Git hooks鉤子工具功能介紹和使用_husky的作用-CSDN博客
Husky (computer) - Wikipedia


上一篇
DAY10 Code變乾淨,只因為ESlint做了這件事
下一篇
DAY12 Git Hook 能讓你早點下班
系列文
麻瓜的程式翻譯書《Who the hell are you XXX》13
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 則留言

1
橘子
iT邦新手 5 級 ‧ 2024-09-25 18:09:39

有狗就推

0
++
iT邦新手 5 級 ‧ 2024-09-25 20:35:56

有小嘉就推

我要留言

立即登入留言